`include "defines.svh"
`include "CP0Defines.svh"
`include "CacheDefines.svh"
module PREIF_IF(
    input logic clk,
    input logic reset,
    input logic PREIF_IF_Stall,
    input logic PREIF_IF_Flush,

    input logic [31:0]PREIF_PC,
    input logic [31:0]PREIF_NPC,
    input ExceptionType PREIF_ExceptionType,

    output logic [31:0]IF_PC,
    output logic [31:0]IF_NPC,
    output ExceptionType IF_ExceptionType
);
    always_ff @(posedge clk,negedge reset)
    begin
        if(!reset||PREIF_IF_Flush)
        begin
            IF_PC<=32'b0;
            IF_NPC<=32'b0;
            IF_ExceptionType<=`NoException;
        end
        else if(!PREIF_IF_Stall)
        begin
            IF_PC<=PREIF_PC;
            IF_NPC<=PREIF_NPC;
            IF_ExceptionType<=PREIF_ExceptionType;
        end
        else 
            ;
    end
    
endmodule